package pe.edu.upc.dsd.epica.service;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.xml.soap.SOAPException;

import pe.edu.upc.dsd.epica.model.ListaPromocion;
import pe.edu.upc.dsd.epica.model.Promocion;

@Path("/promocion")
@WebService
public interface PromocionService {
	
	@WebMethod()
	public void save(@WebParam(name = "promocion") Promocion promocion) throws SOAPException;

	@WebMethod()
	public void update(@WebParam(name = "codPromocion") String codigo,
			@WebParam(name = "promocion") Promocion promocion) throws SOAPException;

	@WebMethod()
	public void delete(@WebParam(name = "codPromocion") String string) throws SOAPException;

	@GET
	@Path("/{codPromocion}")
	@Consumes("application/json")
	@Produces("application/json")
	@WebMethod()
	public Promocion findByPromocionCode(
			@PathParam("codPromocion") @WebParam(name = "codPromocion") String codigo) throws SOAPException;

	@GET
	@Path("/establecimiento/{codEstablecimiento}")
	@Consumes("application/json")
	@Produces("application/json")
	@WebMethod()
	public ListaPromocion findByEstablecimientoCode(
			@PathParam("codEstablecimiento") @WebParam(name = "codEstablecimiento") String codigo) throws SOAPException;

}
